/***************************************************************************
      File Name:  IConfigurationFile.cs
   File Created:  Monday, July 2nd 2007
      Copyright:  (C) 2007 by Darko Matesic
          Email:  darko.matesic@yahoo.com
 ***************************************************************************/
using System;
using System.Drawing;
using System.Drawing.Printing;
using System.Text;

namespace CallerID
{
    public interface IConfigurationFile
    {
        bool GetValue(string sectionName, string keyName, bool defaultValue);
        int GetValue(string sectionName, string keyName, int defaultValue);
        long GetValue(string sectionName, string keyName, long defaultValue);
        uint GetValue(string sectionName, string keyName, uint defaultValue);
        ulong GetValue(string sectionName, string keyName, ulong defaultValue);
        float GetValue(string sectionName, string keyName, float defaultValue);
        double GetValue(string sectionName, string keyName, double defaultValue);
        string GetValue(string sectionName, string keyName, string defaultValue);
        Font GetValue(string sectionName, string keyName, Font defaultValue);
        Point GetValue(string sectionName, string keyName, Point defaultValue);
        Size GetValue(string sectionName, string keyName, Size defaultValue);
        Rectangle GetValue(string sectionName, string keyName, Rectangle defaultValue);
        Color GetValue(string sectionName, string keyName, Color defaultValue);
        Margins GetValue(string sectionName, string keyName, Margins defaultValue);

        bool SetValue(string sectionName, string keyName, bool value);
        bool SetValue(string sectionName, string keyName, int value);
        bool SetValue(string sectionName, string keyName, long value);
        bool SetValue(string sectionName, string keyName, uint value);
        bool SetValue(string sectionName, string keyName, ulong value);
        bool SetValue(string sectionName, string keyName, int value, bool hexadecimal);
        bool SetValue(string sectionName, string keyName, long value, bool hexadecimal);
        bool SetValue(string sectionName, string keyName, uint value, bool hexadecimal);
        bool SetValue(string sectionName, string keyName, ulong value, bool hexadecimal);
        bool SetValue(string sectionName, string keyName, float value);
        bool SetValue(string sectionName, string keyName, double value);
        bool SetValue(string sectionName, string keyName, string value);
        bool SetValue(string sectionName, string keyName, Font value);
        bool SetValue(string sectionName, string keyName, Point value);
        bool SetValue(string sectionName, string keyName, Size value);
        bool SetValue(string sectionName, string keyName, Rectangle value);
        bool SetValue(string sectionName, string keyName, Color value);
        bool SetValue(string sectionName, string keyName, Margins value);

        bool DeleteValue(string sectionName, string keyName);
    }
}
